home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 11
/
Cream of the Crop 11-1.iso
/
comm
/
callbbs.zip
/
VIEW-32A.ZIP
/
VIEW.DOC
< prev
next >
Wrap
Text File
|
1995-06-01
|
54KB
|
1,099 lines
┌──────────────────────────┐
│ View -*- Version 3.2 │
╞══════════════════════════╡
│ From ConsulTech │
│ Programmed by Jim Wilson │
├──────────────────────────┤
│ Copyright (c) 1990-95 │
│ All Rights Reserved │
└──────────────────────────┘
┌───────────────────┐
│ TABLE OF CONTENTS │
└───────────────────┘
Forward ........................................ 1
General Information ............................ 2
Program Information ............................ 3
Command Line Options ........................... 4
Keyboard Usage ................................. 6
Overview ..................................... 7
F1 - Help ................................... 7
A - Text Anchor, Setting ................... 7
a - Text Anchor, Retrieving ................ 8
B,b - Brightness ............................. 8
G,g - Goto Line .............................. 8
P,p - Printing ............................... 8
R,r - Read a New File ........................ 10
S,s - Searching for Text ..................... 10
Status Line .................................... 11
Ram Usage ...................................... 12
What's Next? ................................... 13
Version History ................................ 13
Upgrading View to ReadIt ....................... 15
Final Ramblings ................................ 16
Registration ................................... 17
┌─────────┐
│ FORWARD │
└─────────┘
Welcome to View version 3.2! View is a small, fast, FREE text file
viewer which you can use to your hearts content, totally unrestricted
(well, almost - read the Registration section contained at the very end
of this document for complete details). With View you have all of the
necessary viewing features implemented in a workable fashion; there's
not too many frills, but every vital function is present and accounted
for (this type of design became necessary if I was to adhere to my main
operative; make the program as small and fast as possible *without*
sacrificing any major features).
What's new since version 3.0? Well, I gave the program an entirely new
look by making all keyboard input and screen prompts appear in pop
windows. I also added automatic TAB expansion, NetBIOS network
compatibility, a function to read a new file into memory without having
to exit and restart View, along with changes to the screen scrolling;
the Left and Right arrows move the display 1 column while the Ctrl-Left
and Ctrl-Right arrows move the display 20 columns now. I enhanced the
printing abilities by allowing you to select the starting line, ending
line, page size, and whether or not View acknowledges or ignores
embedded FormFeeds. And now, I've even incorporated the FastWrite video
technology found in ReadIt. With FastWrite you get the absolute fastest
video displaying technology currently available. Additionally, a
tremendous amount of tweaking was done to the internal structure to
tighten loops, remove dead code, and consolidate multiple functions
into more generic routines. This equates into a tighter, faster EXE
file - two things that are becoming extremely rare in these days of
fat, slow, and sloppy WinDOGS programs!
View is a fully functional FreeWare program - it is not 'crippled' in
any way. However, it is only a subset of another file viewer I've
written called ReadIt. You see, I've actually produced two programs
that are very similar, something which I did deliberately. ReadIt has
every conceivable option implemented and is at least 5 times as
powerful and friendly as View, but it is more then twice the size.
Don't get me wrong; View is no joke, but it isn't nearly as capable as
ReadIt is. Now, if this program contains all the text file viewing
power that you need then your set - you can keep using View for free
as long as you'd like. But, if your a power user or someone who just
has to have the best of everything then contact me and I'll get a copy
of ReadIt off to you (see the section titled Upgrading View to ReadIt
for more details).
Page 1
┌─────────────────────┐
│ GENERAL INFORMATION │
└─────────────────────┘
View is a text and ASCII file viewer. You can use View to read just
about any BAT, DOC, TXT, or Read.Me type of file. It allows you to
read a file with up to 7,500 lines, or as many as will fit into RAM.
Each line can contain up to 250 characters. What's so special about
that? I'm glad you asked!
There are a million text file viewers floating around. Hell, you may
have even written one yourself. I've written three or four different,
but somewhat specialized, viewers over the years. If you have spent
more than 2 seconds with any ShareWare or Public Domain software you
know that the manual is usually a DOC file included on the diskette,
just like this one. There is almost always a Read.Me file with last
minute changes that didn't make the manual on time - most commercial
software even contains these little gems. Some of these files can grow
quite large (I saw a ShareWare programmer's editor that had a DOC file
that was 357K - too big to be loaded by the editor it came with!).
Your only available choices for reading files of this type have been
either a file viewer that could only read one 64K block of text at a
time (one memory segment, which View was in all versions prior to 2.0),
one that tried to read the entire file into RAM (which meant you
usually had a viewer with a big EXE file or one that took a lot of RAM
itself, unlike View), your word processor (what a lousy choice that
is), or your text editor. If your file was real big most viewers or
word processors would not be able to load the entire thing so they
wouldn't load ANY of it. If your lucky the text editor you use is able
to 'unload' the text that couldn't fit into memory on your hard drive
(called VM - Virtual Memory) like the one I use, Aurora.
Now, just because you have about 550K of available RAM doesn't mean
that your viewer or editor could load a file that big - it needs space
to work in too. Enter View. With View you can read virtually any ASCII
text file that your likely to encounter. And if the file is too large
for RAM View doesn't just say "sorry pal, it's too big for me so I'm
going to exit to DOS" (which a lot of programs do!), it will display
what it could read, which in most instances is better then nothing.
In short, Views combination of speed, features, and small size make it
the ideal choice for almost anybody. Because the EXE file is only
14,147 bytes you can carry it anywhere. And, since all the major
movement commands are present (Arrows, PgUp, PgDn, Home, End, etc.)
you're not sacrificing features for portability or speed. Remember,
this program has been carefully hand crafted to use as little of your
precious RAM as possible, so there's more available for your file.
Page 2
┌─────────────────────┐
│ PROGRAM INFORMATION │
└─────────────────────┘
View uses less than 75K of RAM for itself. This means that you can use
it on virtually any PC (If you don't have that much RAM available your
in the wrong business!). Essentially what this means is that all the
remaining conventional (base) memory in your system can be used for
file storage. For example; if, after having loaded all your device
drivers and TSR's you have 575K of RAM free (as reported by Mem or
some similar program), then you would be able to load and read any
ASCII text file up to about 500K, or 7,500 lines (and yes, I *have*
actually read a 500K file in only 575K of RAM so that's not BS). Not
too bad from an EXE file of only 14,147 bytes, wouldn't you say?
View starts by verifying that the file you want to read exists. If it
does View then verifies that the file actually contains data (some
programs will attempt to read a file with 0 bytes of data and risk a
crash, but View won't). View then checks to see that you have at least
75K of free RAM. If everything is good up to this point View then
loads itself into memory. Once loaded, it proceeds to set up 7,500 5
byte pointers for the data structure. Each one will contain a line
number and the string length for the data it is about to read. After
the pointers have been set up View then starts reading until it
reaches the end of the file, runs out of RAM, or until it has read
7,500 lines (this "limit" will be explained later).
Once the file has been loaded you can use the Up, Down, Left, Right,
Ctrl-Left and Ctrl-Right arrows, along with the PgUp, PgDn, Home, and
End keys to move around. If you hit a wrong key or if you hit a limit,
like hitting PgDn when your on the last page already, View will
produce a very gentle beep (not that annoying kind!) to make you aware
of that fact.
View will work with ANY type of monitor, be it monochrome, CGA, EGA,
VGA, LCD, Gas Plasma, or whatever you happen to have. As a matter of
fact, the procedure which determines what type of monitor you have,
and whether or not it can truly display color, is so accurate that you
will probably never have to use the /M command line option (which is
discussed a little later in this document). The video writes, text
searching and the keyboard handler were written in assembler for the
fastest possible performance on any computer.
I've spent a considerable amount of time fine tuning the RAM
requirements for View. With all the tweaking that was done I probably
gave it the ability to read a file that was 25K - 30K bigger then when
I first wrote the new memory scheme (implemented in version 2.0). That
may not seem like a lot in today's world of multi-megabyte systems, but
when you only have 640K of RAM for DOS before you load all your "toys"
into memory then all of the sudden 30K seems like a lot.
Page 3
Even with that I was able to give the program a few extra features,
like a status line at the bottom of the screen which contains the name
of the file you're viewing, the current line number, the last line
number in the file, and the right column position. I've also
incorporated direct video writes, pretty good error checking, the afore
mentioned popup windowing interface, a search feature, a configurable
printing option, and even a brightness control for laptops or PC's with
crappy contrast. (Does your present file viewer have a brightness
control as a feature? I'll be willing to bet it doesn't.)
┌──────────────────────┐
│ COMMAND LINE OPTIONS │
└──────────────────────┘
View supports 7 command line options, which are:
/?, /H - A small [H]elp window
/C - Forced [C]olor mode
/F - Disable [F]astWrites
/M - Forced [M]onochrome mode
/N - Disable [N]etwork printing mode
/T - Disable automatic [T]AB expansion
Filename - Path & name of the file to view
Options can be entered in any order, are not case sensitive, and may
be preceded by either a / or a - character (yes, they can be
intermixed if so desired) but you must leave a space between each
option selected. All unrecognized commands are ignored. There is one
option which causes an immediate response; /? (or /H). This instructs
View to print the help screen and then return to DOS. This option
will be acted upon REGARDLESS of where it's placed on the command
line. If you don't specify a file name you will get the popup file
selection window as the first thing you see. The definition of the
available command line options is:
/? or /H - Use this option to get the command line option help
screen.
/C - Forced color mode. If, by some technical fluke, View
does not recognize your monitor as having the ability
to display information in color you can use this
option to "force" it to do so. You will most likely
never use this - it was added merely for
completeness.
Page 4
/F - Disables the FastWrite video display. Under virtually
every situation you will want to employ this technology
(try planting your finger on the PgUp or PgDn keys with
FastWrites enabled and watch the display fly!). It is
possible, although highly unlikely, that this
particular feature might conflict with some TSR, video
adapter, display driver, etc. By default FastWrites are
on.
/M - By default View displays white text on a blue
background. On most systems this doesn't present a
problem. However, on certain laptops, portables, and
monochrome EGA or VGA monitors this can be difficult
to read. Use this option to instruct View to display
white characters on a black background. The Brightness
command will recognize your selected color choice and
will work accordingly. This does not change the
location of the video buffer that View uses for direct
video writes - this merely alters the colors of the
displayed text. The algorithm that View utilizes to
find the video memory is infallible (famous last
words!).
/N - Disables automatic network print que access. If a
NetBIOS compatible network is detected View will
attempt to configure itself to use those services
appropriately. If, for instance, you have network
drivers installed but you don't have a network printer
as part of your available resources (if you have a
printer on your desk, for example) you may wish to use
this option so View does not attempt to interface with
a non-existing print que. Note that View will only
install these services if a network is detected, if
you use your PC as a standalone or home computer you
do not need to use this option. Also, this option does
NOT turn off View's network file permission's
subsystem. If a NetBIOS network is detected View will
automatically use your individual file permission(s)
as a basis for it's own working knowledge of what
files are available to you and what files are not.
/T - Disables automatic TAB expansion. By default, View
will expand TABS into the appropriate number of
spaces. The only drawback to this is that the TAB
character requires less buffer memory then does an
expanded TAB (unless the TAB would only equate to a
single space, in which case they both require the same
amount of memory - one byte).
Page 5
There may be times of
low memory that might require you to disable this
automatic TAB expansion in order to be able to load
some or all of a file into memory (although I don't
envision this ever being necessary). However, this
option was included for completeness.
Filename - The name of the file you would like to view. Drive
letters and paths are fully supported. If no path is
specified then the current directory is used. Since
View can only read a single file at a time wildcards
are not support (but in ReadIt they are!!).
Okay, one final plug for ReadIt. All of these command line options are
only recognized when View loads - this is the case with EVERY program
that uses such options. However, with ReadIt you can configure all
these options from within the program itself! Forget to add something
to the command line? Want to change the type of TABS that are
displayed? Decide that you really didn't want to print to your network
printer after all? Well, with ReadIt you don't have to leave the
program to make those changes! (hint, hint)
┌────────────────┐
│ KEYBOARD USAGE │
└────────────────┘
The keys that View uses are all pretty self-explanatory (hey, if you
made it this far in the documentation you figured out how to use most
of them already). Here's a listing anyway, just to be complete.
<- - Move the text on the screen 1 column to the left
-> - Move the text on the screen 1 column to the right
- Move up one line of text
- Move down one line of text
PgUp - Move back to the previous 24 lines of text (1 page)
PgDn - Move down to the next 24 lines of text (1 page)
Home - Go to the first line of the file
End - Go to the last line of the file
^<- - Move the text 20 columns to the left
^-> - Move the text 20 columns to the right
a - Retrieve text anchor (case sensitive)
A - Set/Reset the text anchor (case sensitive)
B or b - Toggle: turns the brightness of the text up or down
G or g - Go to a specific line number
P or p - Print the current file to LPT1
R or r - Read a new file into memory
S or s - Search for a string of text
F1,H,h - Display the popup help screen
ESC,X,x - Exits View
Page 6
All cursor movement keys perform as expected, so the key listing above
should be sufficient explanation to enable you to navigate around in a
file. The functions associated to the keys listed below may be
somewhat less obvious so they're explained in more detail.
Note that during virtually any function, process, or procedure hitting
the ESC key will abort your present action and return you to the
viewing screen.
Also, if you have entered something in error hitting the BackSpace key
will erase it. View will NOT allow you to enter an invalid response to
any prompt, like entering letters if you're asked for a number. A beep
will sound should you try to do so and the incorrect text will be
ignored. This same pattern is also exhibited if you answer a question
incorrectly, like trying to Goto a line number that doesn't exist in
the file your viewing or if you try to exceed a limit, like hitting
PgUp when your already at the first page of the file. And finally, note
that the only key that is case sensitive is the A - all others will
work equally well using either upper or lower case.
[F1 or H] There are two different help screens - one for command
HELP line options and one for keys and their respective
meanings. To obtain command line help type View /?
or View /H from the DOS prompt. To obtain help
information about the various keys that View uses you
must first load a file. After you have a file loaded
in the buffer hit the F1 or the H key and a popup
window will appear. This is a rather moot point
considering the intuitive nature of the key sequences
that View uses but I figured it would be a nice
reference to have available.
[A] When a capital A (yes, this one IS case sensitive!) is
ANCHOR typed the current Row/Col location is stored to
memory. At this point you may move freely around the
file without reservations. When you want to return to
your marked spot simply type a lowercase a (see the
next key description for additional information).
This setting will remain at the same Row/Col location
until you change it or read a new file into the
buffer. You can also check the Toggle Key Indicator
on the Status Line. A capital A indicates that an
anchor has been set while a lowercase a means it has
not. To reset the stored location to a new setting
simply move to the new location and hit a capital A
again.
Page 7
[a] To "retrieve" your text anchor - return to it - simply
ANCHOR type a lowercase a (yes, this one IS case sensitive!).
No matter where you are in the file you will be
instantly brought back to your saved location. If no
location has been set then you will get a small
speaker beep to remind you of that fact. You can
also check the Toggle Key Indicator on the Status
Line. A capital A indicates that an anchor has been
set while a lowercase a means it has not.
[B or b] To turn the brightness of the text display up or down
BRIGHTNESS hit the B key. This is a 'toggle' key; every time you
hit it the current state is reversed (i.e. if it was
set to normal then it will be set to high the first
time you select it and then back to normal the second
time). If the letter B on the status line is in lower
case then the brightness level is low, while an upper
case B signifies that it has been turned up to the
high setting.
[G or g] Allows you to type in a line number and have the
GOTO program jump directly to that line. When using the
Goto function the line number you specified will be
placed directly above the Status Line, or as close to
it as possible.
[P or p] Prints the current file to LPT1. When selected, a
PRINTING window will appear asking you these three questions:
Starting Line #:
Ending Line #:
Lines Per Page:
Starting Line #: This number represents the first
line number in the file where you would like to start
printing. The default, displayed at the bottom of
the window, will be line number 1. To automatically
select the default simply hit the ENTER key.
Acceptable range is anything from the first line of
the file to the last line. Attempting to enter an
invalid number will result in a speaker beep.
Ending Line #: This number represents the last line
number in the file that you would like to print. The
default, displayed at the bottom of the window, will
be the last line in the file. To automatically select
the default simply hit the ENTER key. Acceptable
range is anything from the Starting Line number
selected above to the last line of the file.
Attempting to enter an invalid number will result in a
speaker beep.
Page 8
Lines Per Page: This number is the total number of
lines per page you would like printed. The acceptable
range is 0 to 250. A setting of 1 to 250 will print
that corresponding number of lines on a page. If
embedded FormFeed (ASCII 12) or LineFeed (ASCII 10)
characters are encountered they are stripped out. A
setting of 0 will force View to just send a stream of
data to the printer EXACTLY as it appears in the file,
including all embedded FormFeeds and LineFeeds,
forcing it to rely solely on the formatting hard coded
in the document itself.
This is quite handy when a document already has been
paginated, like this one, and you wish it to remain as
such when printed. Attempting to enter an invalid
number will result in a speaker beep.
While data is being sent to the printer a status of
the current line being printed will be displayed. The
speed at which the printing occurs is directly
related to a few factors. Obviously, a 486 will print
faster that a 286, as will a laser printer compared to
a dot matrix. An additional factor is the version of
DOS being used. View utilizes the DOS print services
to direct output to the parallel port. This made it
easier for me to develop one generic printing routine
that can capably handle networks, odd printers, custom
print drivers, etc. Another item that slows down the
printing slightly is that I perform a check after
each line of data has been sent to verify that it
actually was successful - something most software
doesn't do. Since this check is also a DOS service it
too is a little slower than if the hardware was being
accessed directly. Quite naturally, that means the
error checking being performed is also a DOS service,
warts and all. So what exactly does all this mean?
Basically, that in order for View to be as compatible
and as accurate as it is the printing speed might be
just a touch slower than some programs you may have
used in the past. But that doesn't mean that it's a
slug, just that it probably isn't the fastest.
Also note that from time to time you may see the line
number counter on the screen pause for a second or so
and then continue. This is usually due to one of two
reasons. Either the data buffer on the printer is
full and it has requested that you don't send
anything for a second or two or that a FormFeed was
sent to the printer. View will automatically pause
for approximately 2 or 3 seconds every time it sends
a FormFeed to the printer, regardless of whether or
not it was embedded in the document or if it was at a
user defined page break.
Page 9
This pause was deliberately programmed in by me to
allow the printer some additional time to catch up
before more data was sent (it takes far longer for a
printer to eject a piece of paper than it does to
actually do any printing).
[R or r] This allows you to read a new file into the buffer.
READ FILE When selected, a window will appear asking you for
the name of the file you wish to read. If it's in the
current directory, which will be listed in the
window, merely typing it's name will load it. If not,
then you must precede the file name with a drive/path
and then the file name. All normal DOS and network
(if one is active) paths are supported. Note that
this replaces the current file in memory.
[S or s] Searches for any character, number or string of text,
SEARCHING including "extended" and "special" characters (those
accessible only by holding down the Alt key and
typing a number on the numeric keypad). When
selected, a window will appear asking the following
question:
Search For:
You have a total of 25 characters that can be
included in the Search string - a sufficient number
for most jobs. (ReadIt allows up to 40. Ooops, I did
it again!) The search is not case sensitive so the
way you type in the data is of no concern. You can
search for virtually anything, including the afore
mentioned "extended" characters. To access these
types of characters you must hold down the Alt key
and type it's corresponding decimal number on the
numeric keypad. View will start from the first line
of the file and read each line until it finds a 'hit'
or it gets to the end of the file. If a match is
found the whole line will be highlighted, the search
string will be capitalized and the data will be
placed as close to the middle of the screen as
possible, all for easier viewing.
Note that View will only find the FIRST occurrence of
a match on any given line (another limitation that
ReadIt doesn't have!) so it is indeed possible that
View will not "find" every occurrence of the Search
string contained in the buffer.
Page 10
If a match is found, and it is past the 80th column
of the file (essentially off of the visible screen,
but still within the buffer itself) View will shift
the display accordingly to put the match as close to
the right most column of the screen as possible while
displaying the full Search string.
NOTE: Even though the Search string is capitalized
when a match is found and displayed the file is NOT
altered in any fashion - only the copy in memory has
been changed. Also, if the file your reading has data
that is already capitalized the search string will
not really stand out. Since most of the files people
read contain either lower or mixed case letters this
should rarely be a problem.
[X or x] Same as hitting the ESC key. From the main viewing
EXIT TO DOS window hitting the X key will cause you to exit to
DOS, with confirmation of course.
┌─────────────┐
│ STATUS LINE │
└─────────────┘
The 25th line of the display (the last line on the screen) is the
Status Line where you'll find information such as the name of the file
your viewing, your current line and column number, the last line
number in the file and the keys that View uses. The layout goes like
this:
Last Line in the File ───────────────────┐
Last Line Displayed ────────────┐ │
Right Most Column ────┐ │ │
Toggle Key Indicators ──────┐ │ │ │
"Action" Keys ──┐ │ │ │ │
│ │ │ │ │
FILENAME.EXT║F1 <--> PgUp PgDn Home End Esc║GPRS║ABFN║Col: Line: End:
└─────┬────┘ └──────────────┬───────────────┘
└─ File in Buffer └─ Keys Used by View
Note that the Text [A]nchor, [B]rightness, [F]astWrite and [N]etwork
toggle indicators - the letters A, B, F and N on the Status Line - will
change, depending upon the current state of that setting.
Anchor: A capital A indicates that you have set a text anchor
while a lowercase a indicates you have not.
Brightness: A capital B indicates that you are in high intensity
mode while a lower case b indicates that you are in
normal intensity mode.
Page 11
FastWrites: A capital F indicates that you are employing the
FastWrite video display technology while a lower case f
indicates that you are not.
Network: A capital N indicates that you are connected to a
NetBIOS network while a lower case n indicates that
you are not.
The letters G, P, R and S (the "Action" keys) stand for the various
functions that View can perform: G=GotoLineNumber, P=PrintFile,
R=ReadNewFile, and S=SearchForText. These keys are not toggles, will
always be capitalized, and will perform an immediate function. Other
then that the Status Line is all fairly obvious and should really need
no further explanation.
To help clarify the Col and Line numbers and how they're displayed:
the Col:## is the right most column currently being viewed while the
Line:## is the last line displayed on the screen. This makes the
numbers you see always the extremes - the last line and the last
column of that particular screen.
And finally, the F1 key gives you a help screen (what a surprise!)
explaining what all those other keys do.
┌───────────┐
│ RAM USAGE │
└───────────┘
Alright let's get serious, shall we? The RAM that View uses is broken
down as follows:
37.5K - 7,500 5 byte data pointers.
12K - Error checking and all status information
25K - Video writes, keyboard routines, associated housekeeping
=====
75K - Total RAM used by View.Exe (approximately)
Not too bad, huh? This amount of memory reflects the TOTAL usage.
This completely eliminates the worry one has with other programs that
require more and more memory the deeper into a file they get. View
will NEVER request anything other then what is listed here REGARDLESS
of the number of lines or bytes read into it's internal buffer.
Page 12
┌──────────────┐
│ WHAT'S NEXT? │
└──────────────┘
What's next for View? Well, I'm not really sure. My main objective is
to keep the program small and fast - that design goal will NEVER
change. However, I'm not going to ignore a good suggestion for an
enhancement if you've got one. Want a neat new feature added? Then
drop me a line at the address below and I'll check into it.
┌─────────────────┐
│ VERSION HISTORY │
└─────────────────┘
1.0 - Initial release to the general public. Only used by myself
6/90 prior to that. Could only read files that were 64K or less in
size (one memory segment).
1.1 - Added the /I option to ignore blank lines, so more "real" data
1/91 could be stored in the buffer. Added the /S option to check the
file size in lines, primarily for use with the /##### (start at
line number) option. Fixed a bug with the error checking
routine. Fixed a bug when you had a file with less than 24
lines (1 full page) of text. Fixed a bug with the monitor
checking procedure.
1.1a- Fixed a bug with file names that started with a number, like
10/91 4Dos.Doc. View mistook that for a 'start at line number' command
(similar to the /##### option).
2.0 - Major rewrite! Removed the /##### (start at line number), /I
2/92 (ignore blank lines), and the /S (show size of file) options
because they were no longer necessary - they existed strictly to
make the 64K file size limit a little more bearable. Added
support for the Left and Right arrow keys, the Brightness and the
Goto line number functions as well as being able to load files
up to 7,500 lines long. All this and the EXE file is only 1.1K
larger!
2.1 - Added the Ctrl-Left and Ctrl-Right arrow keys to scroll the
5/92 screen 40 columns to the left/right, respectively. Fixed a
memory allocation error where View was loading 1 line less then
it said it was if your file was either 7,500 lines long or it
used up all the RAM in your system before the end of the file.
Added some color to the display, for those of us with color
monitors. Fixed a bug with the Goto command if a user entered a
number larger then the total number of lines in the file.
Page 13
Performed some general "housekeeping" on the source code for the
sake of speed and/or size. All this and the EXE file is now 148
bytes smaller than version 2.0! Yeah I know, 148 bytes ain't
much - but how many times have you seen a program updated with
new features and bug fixes that actually got smaller in size?
2.1a- Fixed a keyboard handler problem where the keyboard would
6/92 respond sluggishly, if at all, when the file you loaded took
all available RAM and you had the TSR SuperKey loaded.
2.2 - Added the ability to search for text, print the contents of the
1/93 file to LPT1, and also a popup help window. Rewrote
approximately half of the internal procedures to increase their
speed and reduce their size. This version may not appear to
contain as much new functionality as previous upgrades but the
capabilities that these new features do add is quite
substantial. These enhancements increased the size of the EXE
file by less then 2K.
3.0 - Changed the entire look of the program by making all keyboard
12/93 input and screen prompts appear in pop windows. Added automatic
TAB expansion, NetBIOS network compatibility, the ability to
read a new file into memory without having to exit the program
and restart it, and changed the screen scrolling to move 1
column with the Left and Right arrows and 20 column with the
Ctrl-Left and Ctrl-Right arrows. Enhanced the printing abilities
by allowing you to select the starting line, ending line, page
size, and whether or not View acknowledges or ignores embedded
FormFeeds. These updates and fixes increased the size of the EXE
file by only 1.5K!
3.0a- Minor bug fix with the way View displayed files with less than
1/94 24 lines (one full screen) of text when you performed a search
and the found text was past the 80th column of the display.
3.0b- Fixed a bug that caused View to attempt to read file names that
2/94 began with a NULL character. (Like hitting a function key when
asked for a file name. Why anybody would do this in the first
place is beyond me, but they did. You can thank Borland, and the
bugs in their libraries, for that little "feature"!)
3.0c- Increased the data transfer rate of LPT1 to improve printing
3/94 performance.
3.0d- Fixed a minor bug that caused the End key to work in an erratic
4/94 way if the file you were viewing contained only one line AND that
line was the maximum width of 250 characters.
Page 14
3.1 - Added a text "anchor", also called a bookmark, to allow you to
6/94 instantly return to any location in the file. Updated the network
printing routines to reflect changes in the NetBIOS
specification that NOS's like LanManager, 10 Net, Lantastic, etc.
are now using (these changes should not effect the workings of
older versions of these operating systems). Displays the current
directory in the Read a New File window so you know where your
located. Added the ability to exit the program with the X key
(as well as the typical ESC key). These updates added a measly
393 bytes to the size of the EXE file! Not too bad, if I do say
so myself.
3.1a- Changed the way the search string was displayed when it was
9/94 found. Previously, the entire line was highlighted, centered on
the screen (if possible), and every letter was capitalized. I
found this made it difficult to determine what my search string
was from what the rest of the text was. Now, only the search
string will be capitalized - the rest of the line remains
intact. While I was at it I increased the speed of the searching
algorithm slightly. Also did some extensive documentation
changes and rewrites.
3.1b- Added error checking for bad sectors and corrupted files. This
11/94 prevents View from attempting to load/read a file that could
cause it to be stuck in an endless loop or possibly corrupt
memory with a bogus data pointer.
3.2 - Rewrote the video display and keyboard handling sub-sections to
5/95 incorporate the FastWrite technology from ReadIt. Changed the
appearance of the On-Line help window. As usual, these updates
added to the size of the EXE file a very paltry amount; a measly
142 bytes!
3.2a- Added the ability to place the Text Anchor while performing a
6/95 search.
┌──────────────────────────┐
│ UPGRADING VIEW TO READIT │
└──────────────────────────┘
And now, for the part you've all been waiting for: View has a big
brother called ReadIt (as if you didn't know that by now!). Yup,
that's right - if you like View but want something a lot more powerful
I can certainly help you out. You see, View is kinda like my test bed
for new ideas. It's also something I happen to give away for free
because I'm a nice guy! ReadIt is my ShareWare program, the one you
have to pay for. Both View and ReadIt share the same basic 'engine'
(file access, error checking, keyboard handling, and video writes).
Page 15
ReadIt, however, includes three pages of online help, a much faster
text search (case sensitive or not), a file/buffer information window,
monochrome or color palette selection, user selectable TAB expansion
from within the program, completely customizable printing with
automatic or manual form feeding, 'point and shoot' file selection and
access, an internal data buffer twice the size of Views (employing a
buffering technique allowing you to read files with up to 100,000
lines!), automatic or manual line feed expansion, 9 text 'anchors'
allowing you to easily return to a marked spot, and much, much more.
This is all wrapped up in an interface featuring popup windows with an
EXE file size of only about 27K! And, unlike View, EVERY option is
configurable "on the fly" meaning that you can custom tailor the entire
environment from within the program itself. No more command line
options, unless that's what you want (command line options are, quite
naturally, fully supported by ReadIt). If this sounds good to you then
send just $10.00 dollars to me at the address at the end of this DOC
file, along with a letter containing your name, address and diskette
size, and I'll rush a copy of ReadIt out to you. This is one very nice
program that easily rivals the best ShareWare file viewers written.
┌─────────────────┐
│ FINAL RAMBLINGS │
└─────────────────┘
Some last words of wisdom (or at least as close as I can come).
As with all FreeWare programs I take absolutely no responsibility for
View. If it blows up in your face then it's your fault, not mine. It
if melts your hard drive, then so be it. If it makes you wish you were
a Vulcan (for all you Star Trek fans) then "live long and prosper".
Actually, I get pretty fed up with the legal crappola that's necessary
in today's world. Of course my program won't blow up in your face or
melt your hard drive - I'm being sarcastic and ridiculing the legal
establishment! I use View every day and I have yet to see a Vulcan
(prior to consuming larger quantities of Killians Red, that is).
The EXE file is only 14,147 bytes, which is 1213 bytes LESS then my
target of 15,360 (exactly 15k). A 14K file viewer of this power is
certainly nothing to sneeze at. You may feel that I harp on the file
size issue too much but it is, in my opinion, completely
unprofessional to distribute a program that has grown to such
proportions as to be unweilding just so you can say that it does
everything. This "disease" has even acquired a name: Featureitis.
Small, tight, and fast DOS programs still have a place in this
business, contrary to what MicroSoft and their Windows juggernaut
would have you believe!
Page 16
View works exclusively in read only mode. What exactly does that mean?
Well, it means you can read ANY file, regardless of its attributes
(hidden, system, readonly) or its type (DOC, TXT, HLP, etc). View
doesn't create any temporary files for data storage nor does it alter
the original so you can use it without concern. That also means it's
safe to use on/over your network too.
You've probably noticed that I have given View a 7,500 line limit. This
file size "limit" is because I'm trying to get you to buy ReadIt, a
program whose abilities far exceed Views in virtually every respect.
Realistically, the 7,500 line "limit" is not much of a limit at all. If
you use a typical DOC or TXT file as a yardstick you can successfully
load approximately 320K to 350K before you reach 7,500 lines (I even
loaded a file one time that was 500K!). There's probably no document
you will ever encounter that exceeds that size so this limit is just
for posterities sake and doesn't really inhibit you.
If you happen to be one of the few unfortunate souls who still have a
CGA monitor you had better be prepared for a "blizzard" of snow. View
writes directly to video RAM and I didn't feel like programming the
necessary routines to perform the synchronization of the video retrace
signal. On all other types of monitors there will be no problems.
From time to time you might see some strange symbols appear on the
screen. This is the way View prints the LineFeed (ASCII 10) and a few
other "difficult" characters, generally those whose ASCII value is less
than 32. They serve only to inform you of their presence - you need not
do anything special about them and they are not a hindrance at all.
The three areas I've concentrated on the most when writing View were
text searching, video writes, and memory allocation. These three
functions were tweaked and tweaked till they screamed. Subsequently,
they are the areas that work the fastest and consume the least amount
of memory (as it should be).
┌──────────────┐
│ REGISTRATION │
└──────────────┘
Why is this part of View.Doc last? Because I don't believe in a lot of
legal rhetoric, that's why!
VIEW IS A FREEWARE PROGRAM. YOU ARE FREE TO USE IT FOR YOUR OWN
*PERSONAL* USE. YOU ARE ENCOURAGED TO GIVE IT AWAY TO ANYONE AND
EVERYONE WHO WANTS IT (except as noted below).
Page 17
The only real restrictions I impose are:
1. Whomever you give this program to, whether you copy it onto a
diskette, a hard drive, or you upload it to a BBS, *MUST* be given
the complete set of files (at this writing they are View.Exe,
View.Doc and Read.Me).
2. None of the files (View.Exe, View.Doc or Read.Me) may be altered in
ANY fashion and must remain in their ORIGINAL form. NO EXCEPTIONS!
3. You CANNOT, under ANY circumstance, use this program in a
commercial, retail, promotional, or other similar fashion without
the expressed written consent of the author.
4. You CANNOT, under ANY circumstance, use this program to make a
profit. This includes distributing it with your own software,
selling it, "renting" it, or any other such arrangement that you
obtain reimbursement for. The ONLY exception to this rule is if
you have a diskette duplication or ShareWare distribution company
and you charge a nominal fee to reproduce media (diskettes) for
sale.
If you do desire to distribute View with your ShareWare catalog, your
commercial software, or for any other non-personal endeavor, please
write to me at the address below. I would be more then happy to
license View to just about anybody. But remember, it's entirely free
for personal use!
If you would like to be kept abreast of any new developments
concerning View then send me a buck (one thin dollar!) and I'll add
your name to the mailing list. Make sure you tell me what version your
using. If you would like me to automatically send you the next upgrade
then send me five bucks. Even if you don't send a buck (you cheap
skate!) feel free to drop me a note and let me know what you think
about View, especially if you've found a bug (God forbid!). But
remember, you can upgrade to ReadIt for only $10.00 by sending a check
to me today. So, what are you waiting for?
╓───────────────────────╖
║ ConsulTech ║
║ Jim Wilson ║
║ 4 Scranton Pkwy ║
║ Oxford, NJ 07863 ║
╙───────────────────────╜
Page 18